|
AutoCAD VBA : Layout kopieren
Theo37 am 10.02.2011 um 15:22 Uhr (0)
Hallo an Alle,wie kann ich ein Layout mit VBA kopieren?Danke für jeden Tipp.Gruß, Theo
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Alle Zeichenobjekte einer Zeichnung in eine andere Kopieren
Theo37 am 23.10.2008 um 16:19 Uhr (0)
Hallo,das mit "copyobjects" funktioniert recht gut. Wenn auch etwas langsam bei großen Dateien. Ich habe dazu folgende Prozedur geschrieben:Public Sub copyalle()Dim Enti As AcadEntityDim Alle() As ObjectDim i As IntegerDim olddwg As AcadDocumentDim newdwg As AcadDocumentDim newobj As Variant i = 0 Set olddwg = ThisDrawing ReDim Alle(olddwg.ModelSpace.layout.block.Count - 1) Set newdwg = ThisDrawing.Application.Documents(1) For Each Enti In olddwg.ModelSpace.layout.block Set Alle(i) = Enti i = ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Layout kopieren
Theo37 am 11.02.2011 um 08:46 Uhr (0)
CopyObject? hört sich gut an.Kann ich damit Layouts kopieren?Oder kann ich damit alle Objekte kopieren?Gruß, Hermann
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Layout kopieren
Theo37 am 11.02.2011 um 08:10 Uhr (0)
Hallo,ich habe auch schon an Sendcommand gedacht, möchte das aber nicht verwenden. Vom Effekt her sollte es schon so sein wie in deiner Codezeile oben. ich habe mal folgendes geschrieben (was natürlich nicht funktioniert): Set NewRegister = ThisDrawing.Layouts.Add(Fall(i).Name) NewRegister.TabOrder = i NewRegister.Block. = Fall(i).Register.Block NewRegister.CanonicalMediaName = Fall(i).Register.CanonicalMediaName NewRegister.CenterPlot = Fall(i).Register.CenterPlot NewRegister.ConfigName ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Layout kopieren
Theo37 am 11.02.2011 um 09:31 Uhr (0)
Hallo Thomas,das mit der Eigeninitiative ist immer so ne Sache, bei recht wenig Ahnung. Ich bin mit CopyObjects selbst nicht weiter gerkommen. Aber "Copy is my Hobby". Ich habe folgendes bei Autodesk gefunden:Public Function CopyLayout(Source As AcadLayout, TargetName As String) As AcadLayoutDim Doc As AcadDocumentSet Doc = Source.DocumentDim Result As AcadLayoutSet Result = Doc.Layouts.Add(TargetName)If Source.Block.Count 0 ThenDim Entities() As ObjectReDim Entities(0 To Source.Block.Count - 1)Dim i As I ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Schriftkopf im aktuellen Layout ermitteln
Theo37 am 21.10.2008 um 13:48 Uhr (0)
Hallo Gerhard,bin selber noch Anfänger, aber ich versuche trotzdem mal ne Antwort. Unten ist ein Beispiel das so, natürlich keinen Sinn macht. Trotzdem zeigt es wie mann den alten Inhalt Speichern kann und die Attribute mit neuem Text füllen kann.In dem Beispiel gehe ich davon aus, daß die Schrifftköpfe "A3" heisen und mindestens 10 attribute haben.Viel Spass beim Probieren.Public Sub Blockattri()Dim Kopf As AcadBlockReferenceDim Enti As AcadEntityDim Attrib As VariantDim Inhaltalt(1 To 10) As StringDim i ...
|
| In das Form AutoCAD VBA wechseln |